package com.lanhai.zhonglai.interfaces;

import com.lanhai.zhonglai.beans.AgvBean;

public interface IPower {
	void init();

	/**
	 * agv到达充电桩
	 * 
	 * @param agvid
	 * @param dotno
	 */
	void agvArrivedPower(int agvid, int dotno);

	/**
	 * 让agv去充电桩
	 * 
	 * @param currentDot 当前的判断的点位
	 * @param agv
	 * @return
	 */
	boolean agvToPower(int currentDot, AgvBean agv);

	/**
	 * 充电时间达到?分钟的AGV，回归工作路线
	 *  
	 */
	void agvBackToWork( );

	/**
	 * 点位释放agv，并让AGV回归工作路线（如果有agv) 此方法用于后台
	 * 
	 * @param dotno
	 */
	void unlockPowerByDot(int dotno);
	
	/**
	 * 只解锁充电桩
	 * @param dotno
	 */
	void unlockPowerNotice(int dotno);
	
	
	boolean isLocked(int dotno);
	
	
	/**
	 * 判断某个区域是否有可用充电桩
	 * @param dotno
	 * @return
	 */
	boolean hasEmpty(int dotno);

	
	void updatePowerState(int dotno,boolean disable);
	
	/**
	 * 清理AGV的占用
	 * @param agvid
	 */
	void unlockPowerByAgv(int agvid);
}
